@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800&display=swap');
:root{--paper:#f7f6f2;--ink:#142c46;--sky:#cbe7f6;--blue:#2474bd;--line:#142c462b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Heebo,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding-block:26px}.brand b{font:800 27px 'Barlow Condensed',Arial,sans-serif;display:block;letter-spacing:-.5px}.brand small{display:block;font-size:12px;margin-top:5px}.header-contact{font-size:14px;border-bottom:1px solid;padding-bottom:5px}.stage-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:6px;background:var(--paper);border-block:1px solid var(--line);padding:9px 16px}.stage-nav a{min-width:145px;text-align:center;padding:10px 18px;border-radius:30px;font-weight:700;font-size:14px;transition:background .25s,color .25s}.stage-nav small{font-size:11px;margin-right:8px;font-weight:400}.stage-nav a.active{background:var(--ink);color:var(--paper)}.section-label{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.04em;padding-top:38px}.ready h1,.set-title h2,.drive>h2{font:800 clamp(100px,19vw,260px)/.91 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;margin:20px 0 28px;text-align:left}.period{color:var(--blue)}.hero-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:48px;align-items:center}.hero-copy h2{font-size:clamp(32px,3.6vw,50px);line-height:1.13;margin:0 0 20px;letter-spacing:-1.4px}.hero-copy p,.drive-copy p{font-size:17px;line-height:1.8;margin:0 0 26px}.button{background:var(--ink);color:white;min-height:58px;padding:16px 24px;border:0;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:42px;cursor:pointer;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#245176;transform:translateY(-2px)}.hero-copy .button{display:inline-flex;min-width:240px}.text-link{display:block;font-size:14px;margin-top:18px}.hero-image{margin:0;overflow:hidden;border-radius:6px;background:var(--ink)}.hero-image img{width:100%;height:auto;display:block;aspect-ratio:1.5;object-fit:cover}.hero-image figcaption{display:flex;justify-content:space-between;gap:12px;color:white;font-size:11px;padding:12px 18px}.ready-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:38px;padding:17px 0 38px;font-size:13px}.set{background:var(--sky);padding-bottom:65px}.set-title{display:flex;align-items:center;justify-content:space-between;direction:ltr}.set-title h2{margin-bottom:32px}.set-title>p{direction:rtl;font-size:28px;line-height:1.3;font-weight:600}.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.set h3{font-size:34px;line-height:1.2;margin:0 0 20px;letter-spacing:-.8px}.set-intro{line-height:1.9}.principles{margin-top:30px}.principles>div{display:flex;gap:23px;border-top:1px solid var(--line);padding:17px 0}.principles>div>span{font-size:12px;padding-top:5px}.principles p{margin:0;line-height:1.75;font-size:15px}.principles strong{display:block;font-size:18px;margin-bottom:3px}.area{border-top:1px solid var(--line);padding-top:18px}.micro{font-size:12px;display:block;margin-bottom:20px}.area p{line-height:1.85}.area small{font-size:12px}.questions{margin-top:30px}details{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:17px 0;display:flex;justify-content:space-between;gap:16px;font-size:15px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:20px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:15px;line-height:1.8;margin:0 0 18px}.drive{padding-bottom:70px}.drive-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.drive-copy h3{font-size:52px;letter-spacing:-1.5px;line-height:1.2;margin:0 0 20px}.direct{margin-top:35px}.direct a{display:block;font-size:14px;margin-top:17px}form label{display:block;font-size:14px;margin-bottom:8px}input,select{background:transparent;color:var(--ink);width:100%;height:56px;border:1px solid #142c4660;border-radius:5px;padding:12px;min-width:0}input::placeholder{color:#526479}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}form .button{width:100%;margin-top:22px}.form-note{font-size:12px;line-height:1.7;color:#506071}#form-status{font-size:14px;line-height:1.7}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:28px;font-size:12px}footer>b{font:800 25px 'Barlow Condensed',Arial,sans-serif}.mobile-contact{display:none}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:0}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:appear .6s ease both}@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}@media(min-width:1500px){.ready h1,.drive>h2{font-size:270px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{padding-block:20px}.brand b{font-size:23px}.brand small{font-size:11px}.header-contact{font-size:12px}.stage-nav{gap:0;padding:7px 10px}.stage-nav a{min-width:0;flex:1;padding:9px 6px;font-size:13px}.stage-nav small{font-size:10px;margin-right:5px}.section-label{font-size:10px;padding-top:27px;gap:8px}.ready h1,.drive>h2{font-size:clamp(90px,25.5vw,190px);margin:22px 0}.hero-grid{display:flex;flex-direction:column;gap:25px;align-items:stretch}.hero-copy h2{font-size:38px;line-height:1.14;margin-bottom:15px}.hero-copy p{font-size:16px;margin-bottom:20px}.hero-copy .button{width:100%;min-height:54px}.text-link{margin-top:13px;text-align:center;font-size:13px}.hero-image{margin-top:0}.hero-image img{aspect-ratio:1.7}.hero-image figcaption{font-size:9px;padding:10px 12px}.ready-bottom{font-size:10px;margin-top:24px;padding-bottom:26px}.set{padding-bottom:30px}.set-title h2{font-size:clamp(100px,30vw,180px);margin:24px 0}.set-title>p{font-size:20px}.set-grid{grid-template-columns:1fr;gap:25px}.set h3{font-size:29px;margin-bottom:15px}.set-intro{font-size:15px;line-height:1.8}.principles{margin-top:22px}.principles>div{padding:13px 0}.principles strong{font-size:16px}.principles p{font-size:14px}.area h3{font-size:26px}.area p{font-size:14px}.micro{margin-bottom:12px}.questions{margin-top:20px}summary{font-size:14px;padding:15px 0}.drive-grid{grid-template-columns:1fr;gap:27px}.drive-copy h3{font-size:38px;margin-bottom:12px}.drive-copy p{font-size:16px;margin-bottom:15px}.direct{margin-top:0}.direct a{font-size:13px;margin-top:12px}.drive{padding-bottom:35px}.form-row{gap:12px}footer{flex-wrap:wrap;gap:15px;padding-bottom:95px}footer>b{width:100%;font-size:27px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--paper);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{background:var(--ink);color:white;padding:12px 16px;border-radius:5px;flex:1;text-align:center;font-size:14px}.mobile-contact a:last-child{flex:0 0 75px;background:var(--sky);color:var(--ink)}body.at-drive .mobile-contact{display:none}form{scroll-margin-top:100px}.form-note{margin-bottom:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Standalone brand header and text-led READY section. */
.header{position:relative;justify-content:center;text-align:center;min-height:110px}.header .brand{max-width:calc(100% - 260px)}.header .header-contact{position:absolute;left:0;top:50%;transform:translateY(-50%)}.brand small{font-size:14px}.hero-grid{display:block}.hero-copy{max-width:820px}.hero-copy p{max-width:760px}.set-title>p strong{font-weight:700}@media(max-width:760px){.header{min-height:105px;padding-block:22px}.header .brand{max-width:100%}.header .header-contact{display:none}.brand b{font-size:30px}.brand small{font-size:14px}.hero-copy p{line-height:1.85}.hero-grid{display:block}}

#set .principles .parents-emphasis{display:inline;font-size:inherit;font-weight:800;text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px}#set .questions summary{font-weight:700}

/* Scroll-linked race signal: a functional stage navigator. */
main .wrap,main section.wrap{width:min(1200px,calc(100% - 160px))}.ready .ready-question{margin-top:36px;line-height:.9;font-style:italic}.are-you{display:block;font-size:.4em;letter-spacing:.01em;color:#527e9c;margin-bottom:10px}.ready-word{display:block;color:var(--ink)}.race-signal{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:22;width:52px;padding:8px 4px 10px;border-radius:28px;background:var(--ink);box-shadow:0 5px 16px #142c4620;display:flex;flex-direction:column;align-items:center}.signal-light{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;flex-shrink:0}.signal-light span{display:block;width:25px;height:25px;border-radius:50%;background:#30465b;border:2px solid #ffffff20;transition:background .35s,box-shadow .35s,transform .35s}.signal-caption{font:700 10px Arial,sans-serif;color:#fff;margin-top:8px;letter-spacing:.03em}.race-signal[data-stage="ready"] .red span,.race-signal[data-stage="set"] .red span{background:#ff514c;box-shadow:0 0 13px #ff514c80;border-color:#ffa8a5}.race-signal[data-stage="set"] .amber span{background:#ffc843;box-shadow:0 0 13px #ffc84380;border-color:#ffe6a5}.race-signal[data-stage="drive"] .green span{background:#43df9b;box-shadow:0 0 13px #43df9b80;border-color:#acf4d5}.signal-light[aria-current="step"] span{transform:scale(1.1)}.signal-light:focus-visible{outline-color:#fff;outline-offset:-2px}@media(max-width:760px){main .wrap,main section.wrap{width:calc(100% - 84px);margin-right:64px;margin-left:20px}.race-signal{right:6px;width:44px;padding:5px 0 9px}.signal-light{height:44px;width:44px}.signal-light span{width:19px;height:19px}.signal-caption{font-size:8px;letter-spacing:0;margin-top:3px}.ready .ready-question{font-size:clamp(68px,22vw,165px);margin-top:28px}.ready .are-you{font-size:.43em;margin-bottom:8px}.ready-bottom{flex-wrap:wrap;gap:8px}.set-title{gap:10px}.set-title h2{font-size:clamp(70px,23vw,130px)}.set-title>p{font-size:17px}.drive>h2{font-size:clamp(68px,22vw,165px)}.hero-copy h2{font-size:34px}.form-row{grid-template-columns:1fr}.section-label{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.signal-light span{transition:none}}

/* Larger twin-column starting lights and stronger brand tagline. */
.header .brand small{font-size:25px;line-height:1.25;font-weight:800;color:#4c8eb4;margin-top:8px}.race-signal{right:12px;width:86px;padding:10px 6px 12px;border-radius:23px}.signal-light{width:74px;height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px}.signal-light span{width:29px;height:29px;flex-shrink:0}.signal-caption{font-size:11px;margin-top:9px}main .wrap,main section.wrap{width:min(1200px,calc(100% - 220px))}@media(max-width:760px){.header .brand small{font-size:27px}.header{padding-block:22px;min-height:120px}.race-signal{right:5px;width:62px;padding:8px 3px 10px;border-radius:18px}.signal-light{width:56px;height:44px;gap:6px}.signal-light span{width:22px;height:22px}.signal-caption{font-size:9px;margin-top:6px}main .wrap,main section.wrap{width:calc(100% - 104px);margin-right:84px;margin-left:20px}.set-title h2{font-size:clamp(62px,20vw,130px)}.set-title>p{font-size:16px}.ready .ready-question,.drive>h2{font-size:clamp(62px,20vw,150px)}}

/* Quieter header and finish-line navigation cue. */
.header .brand small{margin-top:0}.finish-flag{display:grid;place-items:center;width:44px;height:44px;margin-top:8px;color:#9caebb;border-top:1px solid #ffffff25;transition:color .3s}.finish-flag svg{transform:rotate(-8deg);transition:transform .3s}.race-signal[data-stage="drive"] .finish-flag{color:#fff}.race-signal[data-stage="drive"] .finish-flag svg{transform:rotate(0)}.finish-flag:focus-visible{outline-color:white}#set>.wrap{padding-top:24px}#drive{padding-top:24px}@media(max-width:760px){.header{min-height:90px;padding-block:22px}.header .brand{max-width:100%}.header .brand small{font-size:27px}.finish-flag{margin-top:6px}.finish-flag svg{width:26px;height:26px}#set>.wrap,#drive{padding-top:18px}}@media(prefers-reduced-motion:reduce){.finish-flag,.finish-flag svg{transition:none}}

/* Frameless lights; single mobile navigation; DRIVE entrance. */
.race-signal{background:transparent;box-shadow:none;border:none;border-radius:0}.signal-light span{background:#d3dce1;border-color:#a8b9c5;box-shadow:inset 0 1px 3px #142c4620}.signal-caption{color:var(--ink)}.finish-flag{color:#6b8393;border-top-color:#142c4625}.race-signal[data-stage="drive"] .finish-flag{color:var(--ink)}.signal-light:focus-visible,.finish-flag:focus-visible{outline-color:var(--blue)}
@media(max-width:760px){.stage-nav{display:none}html{scroll-padding-top:24px}}
@media(prefers-reduced-motion:no-preference){#drive.drive-enter>h2{animation:drive-arrive .65s cubic-bezier(.2,.7,.2,1) both}#drive.drive-enter .drive-grid{animation:drive-arrive .75s cubic-bezier(.2,.7,.2,1) .12s both}@keyframes drive-arrive{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}}

/* Neutral contact copy and direct contact tiles. */
.contact-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-tiles a{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:108px;margin:0;padding:18px;background:var(--sky);border:1px solid transparent;border-radius:8px;transition:background .2s,border-color .2s}.contact-tiles a:hover{background:#bddcec;border-color:var(--blue)}.contact-tiles strong{font-size:19px}.contact-tiles span{font-size:14px}.drive-copy h3{font-size:clamp(30px,3.6vw,48px)}@media(max-width:760px){.contact-tiles{gap:9px}.contact-tiles a{min-height:102px;padding:12px 9px}.contact-tiles strong{font-size:16px}.contact-tiles span{font-size:12px}.drive-copy h3{font-size:32px}.ready .ready-question{margin-top:30px}}

/* A complete mobile opening, upright display type, balanced SET caption. */
.ready-opening{margin:32px 0 12px;font-size:24px;font-weight:700;color:#4c8eb4;line-height:1.35}.ready .ready-question{font-style:normal;margin-top:18px}.set-title>p{font-size:32px;line-height:1.35}@media(max-width:760px){.ready{min-height:calc(100svh - 76px);display:flex;flex-direction:column;padding-top:22px;padding-bottom:12px}.ready-opening{margin:12px 0 22px;font-size:23px;line-height:1.4}.ready .ready-question{margin-top:0;margin-bottom:30px}.ready .hero-copy p{margin-bottom:26px}.ready-bottom{margin-top:auto;padding-top:18px;padding-bottom:18px}.set-title>p{font-size:clamp(19px,5.2vw,25px);line-height:1.35;flex-shrink:0}.set-title{gap:12px}.set-title h2{flex-shrink:0}}@media(max-width:350px){.set-title>p{font-size:18px}.set-title{gap:8px}}

/* Full-width brand masthead with learner mark and dividing rule. */
.brand-banner{width:100%;border-bottom:1px solid #142c4640;background:var(--paper)}.brand-banner-inner{width:min(1200px,calc(100% - 48px));min-height:96px;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:20px;padding-block:20px}.learner-mark{display:block;flex:0 0 48px;width:48px;height:auto;line-height:0}.learner-mark img{display:block;width:100%;height:auto}.learner-mark:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.brand-banner p{margin:0;display:flex;align-items:center;justify-content:center;gap:18px;line-height:1.5}.brand-banner strong{font-size:23px;font-weight:800;white-space:nowrap}.banner-description{font-size:18px}.banner-divider{color:#7295ad;font-weight:400}.ready .ready-question{margin-top:28px}@media(max-width:760px){.brand-banner-inner{width:calc(100% - 40px);min-height:108px;gap:14px;justify-content:flex-start;padding-block:17px}.learner-mark{flex-basis:42px;width:42px;height:auto}.brand-banner p{display:block;text-align:right;line-height:1.45}.brand-banner strong{display:block;font-size:21px}.banner-description{display:block;font-size:14px;margin-top:4px}.banner-divider{display:none}.ready{min-height:calc(100svh - 184px);padding-top:22px}.ready .ready-question{margin-top:8px}}@media(max-width:350px){.brand-banner-inner{gap:10px}.brand-banner strong{font-size:19px}.banner-description{font-size:13px}}
